Technical Field
The present disclosure relates generally to home automation systems and more specifically to provisioning and onboarding hardware elements of a home automation system.
Background Information
Home automation systems are becoming increasingly popular in both residential and commercial buildings. Such systems may include one or more in-home controllers that are capable of controlling, switching data between, and otherwise interacting with a wide variety of devices, including lighting devices, security devices, audio/video (A/V) devices, heating ventilation and cooling (HVAC) devices, electronic door locks, and/or other types of devices. Traditionally, many home automation systems have required an involved installation procedure to make the system functional. Further, involved update procedures have been required each time a change is made to the system. Such installation and update procedures often have required the services of a skilled home automation system installer to handle the various complexities involved.
One complexity is “provisioning” devices of the home automation system with network credentials to allow them to communicate with each other on a network. To provision devices, an installer has typically been required to take individual actions on each and every device of the home automation system. For devices that have their own a user interface (e.g., have a screen and input device), the installer generally would manually enter the network credentials into the device. When no user interface was available on certain devices, but a connection port (e.g., a universal serial bus (USB), RS232 port, etc.) was provided, the installer would often temporarily couple another device (e.g., a laptop or tablet computer running special-purpose software) to each such device via a cable, and transfer the network credentials over the cable connection. For still other devices, the installer would perform physical actions on them to cause them to acquire network credentials, for example, pressing pairing buttons, manipulating switches, etc.
Such existing provisioning procedures are time consuming and error prone. When there are a large number of devices in a home automation system, repeatedly entering the same network credentials may take considerable time. If an error (e.g., a typo) is made, devices may be unable to communicate with each other until the problem is diagnosed.
Another complexity is configuring a home automation system to utilize new devices. While a new device, once provisioned, may be able to communicate with other devices on a network, typically some configuration information is required in order for the home automation system to make use of the new device in providing services. Traditionally, such configuration information has been provided by an installer using a high-level (i.e. “architects view”) design tool (e.g., the RacePoint Blueprint™ design tool available from Savant Systems Inc.) Using the design tool, the installer would build a detailed system configuration of the home automation system, configuring each device and defining interconnections between them. Once the system configuration was complete, the installer would compile the system configuration into an executable form that could be run to provide services.
Such existing configuration procedures typically are complex and time consuming. An in-depth understanding of home automation system architectures and design principles may be required, rendering the procedures unsuited for homeowners or lower-skill level, general purpose installers. Accordingly, with existing configuration procedures the services of a skilled home automation system installer may be required.
There is a need for new techniques for provisioning and configuring devices as part of an initial installation or update to a home automation system that may simplify tasks, and make them more accessible to homeowners and general-purpose installers. Such techniques, if available, could allow home automation to be utilized by a wider audience, who may be unable or unwilling to pay a skilled home automation system installer to initially setup and later update their system.